home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
351
/
pdc
/
libsrc.lzh
/
LibSrc
/
Misc
/
wb_parse.c
< prev
Wrap
C/C++ Source or Header
|
1990-04-07
|
2KB
|
59 lines
/*
* PDC I/O Library Copyright (C) 1987 by J.A. Lydiatt.
* Freely Distributable for non-commercial use.
*/
/*
* This module is called from _main(). It will open a window for
* standard I/O to use if the ToolType, "WINDOW" is defined. The
* window size and title can be specified in the tool definition.
* If you don't ever plan to call this program from workbench, you
* may replace this module by a dummy stub - try _wb_parse(){} for
* example.
*/
#include <libraries/dosextens.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>
#include <workbench/icon.h>
typedef struct DiskObject DISKOBJ;
typedef struct Process PROCESS;
typedef struct FileHandle HANDLE;
typedef struct WBStartup WBSTART;
typedef struct WBArg WBARG;
extern void *IconBase;
extern void CloseLibrary(), FreeDiskObject();
extern DISKOBJ *GetDiskObject();
_wb_parse(processp, wbMsg)
register PROCESS *processp;
WBSTART *wbMsg;
{
register char *cp;
register DISKOBJ *diskobjp;
register HANDLE *handlep;
register ULONG window;
WBARG *wbMsgp;
extern void *OpenLibrary();
extern long Open();
if ( !(IconBase = OpenLibrary("icon.library", 0L)) )
return;
wbMsgp = wbMsg->sm_ArgList;
if ( !(diskobjp = GetDiskObject(wbMsgp->wa_Name)) )
goto done;
if (cp = FindToolType(diskobjp->do_ToolTypes, "WINDOW")) {
if (window = Open(cp, MODE_OLDFILE)) {
handlep = window << 2;
processp->pr_ConsoleTask = handlep->fh_Type;
processp->pr_CIS = window;
processp->pr_COS = Open("*", MODE_OLDFILE);
}
}
FreeDiskObject(diskobjp);
done:
CloseLibrary(IconBase);
IconBase = 0L;
}